Для общего представления прочитайте "Шаг 161 - Что такое Microsoft Agent.", "Шаг 162 - Как создают агентов.", "Шаг 138 - Использование Microsoft Agent.". Создаем приложение на базе диалогового окна и из галереи компонент добавляем элемент управления.
Вас просят о создании всяких классов. Создавайте все. После этого агента нужно поместить на диалог а заодно и создать кнопку по которой он будет появляться.
Классы лучше спрятать в отдельную папочку.
Связываем кнопку с событием, а в описание класса диалога добавляем необходимые заголовочные файлы.
// AgentDlg.h : header file // //{{AFX_INCLUDES() #include "agentctlex.h" //}}AFX_INCLUDES #include "AgentCtlCharacters.h" #include "AgentCtlCharacterEx.h" #include "AgentCtlRequest.h"
Теперь нам нужно объявить дополнительные классы.
class CAgentDlg : public CDialog { // Construction public: CAgentDlg(CWnd* pParent = NULL); // standard constructor CAgentCtlCharacters cAgChr; CAgentCtlRequest cr; CAgentCtlCharacterEx crEx; // Dialog Data //{{AFX_DATA(CAgentDlg) enum { IDD = IDD_AGENT_DIALOG };
Самый главный вопрос, как и что будет происходить. Смотрим рисунок.
Мы из основного класса извлекаем класс изображения. В него зачитываем изображение и получаем новый класс. Из него же получаем класс расширенного изображения в который передаем идентификатор. Дальше отображаем. Вот так это выглядит в коде.
void CAgentDlg::OnButton1() { LPWSTR name = L"merlin.ACS"; VARIANT vars; vars.vt = VT_BSTR; vars.bstrVal = SysAllocString(name); cAgChr=m_Agent.GetCharacters(); cr=cAgChr.Load("CharID",vars); crEx=cAgChr.Character("CharID"); VARIANT var; var.vt = VT_I2; var.iVal = 0; crEx.Show(var); }
А вот результат нажатия на кнопку.